ARMEdit: SWI Calls

ARMEdit_TalkStart

ARMEdit_TalkStart
(SWI &4BC41)
Register a new client task

On entry:R0 =pre-allocated ID for this task
R1 =flags (see below)
R2 =pointer to a function to be called when a message is available, or 0 for none
R3 =value for R12 to contain when function pointed to by R2 is called

On exit:R0 =a unique client handle
R1 =pointer to a poll word for this task

Interrupts:Interrupt status is undefined
Fast interrupts are enabled

Processor mode:Processor is in SVC mode

Re-entrancy:SWI is not re-entrant

Use: An application that provides services to PC software should call this when it is starting. A message buffer is allocated and a unique handle for this task assigned. This handle should be stored and used in all other calls relating to this task.

The currently defined flag bits are:
BitMeaning if set
0Messages from the ARMEdit module are required.

All other bits should be set to 0 to allow for future expansion.

The poll word is initially set to zero. When there is potentially a message waiting for this task the poll word is set to a non-zero value. The poll word is cleared when either the message has been read, or no message is available for some other reason. Note that a non-zero poll word does not imply that a message will be available; another task might have read the message if it was not directed to a specific handle. The poll word must not be written to; it must only be modified by the ARMEdit module.


Related SWIs:ARMEdit_TalkEnd, ARMEdit_TalkTX, ARMEdit_TalkRX, ARMEdit_TalkAck, ARMEdit_TalkReply

Related vectors:None

[Contents] [Up] Copyright © Alexander Thoukydides, 2001